gtksearchenginetracker: Use non-case sensitive search for non-fts search
authorVincent Untz <vuntz@gnome.org>
Sat, 19 Feb 2011 18:08:10 +0000 (19:08 +0100)
committerMartyn Russell <martyn@lanedo.com>
Mon, 6 Jun 2011 15:39:33 +0000 (16:39 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=642773

gtk/gtksearchenginetracker.c

index c368b270304fbf220c87d2246595e4e1ff43936f..51f1b9a780a69c85ebcb4f3d9c6a6b60e37ad40f 100644 (file)
@@ -300,6 +300,18 @@ sparql_append_string_literal (GString     *sparql,
   g_free (s);
 }
 
+static void
+sparql_append_string_literal_lower_case (GString     *sparql,
+                                         const gchar *str)
+{
+  gchar *s;
+
+  s = g_utf8_strdown (str, -1);
+  sparql_append_string_literal (sparql, s);
+
+  g_free (s);
+}
+
 static void
 gtk_search_engine_tracker_start (GtkSearchEngine *engine)
 {
@@ -350,8 +362,8 @@ gtk_search_engine_tracker_start (GtkSearchEngine *engine)
                          "WHERE {"
                          "  ?urn a nfo:FileDataObject ;"
                          "    tracker:available true ."
-                         "  FILTER (fn:contains(nfo:fileName(?urn),");
-  sparql_append_string_literal (sparql, search_text);
+                         "  FILTER (fn:contains(fn:lower-case(nfo:fileName(?urn)),");
+  sparql_append_string_literal_lower_case (sparql, search_text);
 
   g_string_append (sparql, 
                    "))"